<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="UTF-8" />
    <meta http-equiv="X-UA-Compatible" content="IE=edge" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <title>短信行为验证码</title>
    <script src="https://turing.captcha.qcloud.com/TCaptcha.js"></script>
    <!-- 验证码程序依赖(必须)。请勿修改以下程序依赖，如通过其他手段规避加载，会导致验证码无法正常更新，对抗能力无法保证，甚至引起误拦截。 -->
    <script
      type="text/javascript"
      src="https://unpkg.com/@dcloudio/uni-webview-js@0.0.3/index.js"
    ></script>
  </head>
  <body></body>

  <script>
    //取url中的参数值
    function getQuery(name) {
      // 正则：[找寻'&' + 'url参数名字' = '值' + '&']（'&'可以不存在）
      let reg = new RegExp('(^|&)' + name + '=([^&]*)(&|$)');
      let r = window.location.search.substr(1).match(reg);
      //console.log(r);
      if (r != null) {
        // 对参数值进行解码
        return decodeURIComponent(r[2]);
      }
      return null;
    }

    // 定义验证码触发事件
    window.onload = function () {
      try {
        //console.log(getQuery('id'));
        // 生成一个验证码对象
        // CaptchaAppId：登录验证码控制台，从【验证管理】页面进行查看。如果未创建过验证，请先新建验证。注意：不可使用客户端类型为小程序的CaptchaAppId，会导致数据统计错误。
        //callback：定义的回调函数
        var captcha = new TencentCaptcha(
          getQuery('id'),
          (res) => {
            uni.postMessage({
              data: res,
            });
          },
          {}
        );

        // 调用方法，显示验证码
        captcha.show();
      } catch (error) {
        // 加载异常，调用验证码js加载错误处理函数
        loadErrorCallback();
      }
    };
  </script>
</html>
